Low-power and Lossy Networks (LLNs), e.g., sensor networks, have a myriad of applications, such as smart grid, smart cities, home and building automation, etc. Various challenges are presented with LLNs, such as lossy links, low bandwidth, battery operation, low memory and/or processing capability, etc. Large-scale IP smart object networks pose a number of technical challenges. For instance, the degree of density of such networks (such as Smart Grid networks with a large number of sensors and actuators, smart cities, or advanced metering infrastructure or “AMI” networks) may be extremely high: it is not rare for each node to see several hundreds of neighbors.
One example routing solution to LLN challenges is a protocol called Routing Protocol for LLNs or “RPL,” which is a distance vector routing protocol that builds a Destination Oriented Directed Acyclic Graph (DODAG, or simply DAG) in addition to a set of features to bound the control traffic, support local (and slow) repair, etc. One of the core aspects of RPL lies in the use of an Objective Function (OF) configured on the DAG Root that determines the rules according how nodes join the DAG: the OF specifies the list of metrics and constraints used to build the DAG in addition to a number of rules and objectives. A typical OF in Smart Metering applications may be: “find the shortest path based on the reliability metric (thus the most reliable path), while avoiding battery operated nodes.” A typical OF in substation automation applications may be “find the shortest path based on the delay metric (shortest delay) while using encrypted links.”
RPL, and other complex routing protocols, are certainly very much appropriate to routing in existing networks comprising thousands of nodes. That being said, such protocols are fairly sophisticated with a number of available parameters, tuning, optional building blocks, and may be difficult to operate in constrained network. For example, current estimates show that RPL would require a few Kbytes of RAM for state maintenance and slightly more memory in terms of Flash. Unfortunately, the level of complexity inherent to the challenges of routing in LLN using a distributed routing approach grows rapidly with the number of nodes in the network.